package com.sdweizan.sdk.bytedance.api;

import com.sdweizan.sdk.bytedance.api.impl.*;
import com.sdweizan.sdk.bytedance.bean.notify.BdRequestHeader;
import com.sdweizan.sdk.bytedance.config.BdConfigStorage;
import com.sdweizan.sdk.bytedance.error.BdErrorException;
import java.util.Map;

public interface BdMiniAppService {

  boolean checkSignature(String timestamp, String nonce, String msg, String signature);

  boolean checkSignature(BdRequestHeader requestHeader);

  BdConfigStorage getConfigStorage();

  void setWxMpConfigStorage(BdConfigStorage configStorage);

  void setMultiConfigStorages(Map<String, BdConfigStorage> configStorages);

  void setMultiConfigStorages(Map<String, BdConfigStorage> configStorages, String defaultMpId);

  void addConfigStorage(String mpId, BdConfigStorage configStorages);

  void removeConfigStorage(String mpId);

  BdMiniAppService switchoverTo(String mpId);

  boolean switchover(String mpId);

  BdApiService getBdApiService();

  BdOpenService getBdOpenService();
}
